package com.kuaihuoyun.ctms.entity;

import lombok.Data;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

@Data
public class OrderEntity implements Serializable {
    // 批次号：创建订单可不填，确认批次必填
    private String batchNumber;//批次号(必填)

    // 订单号:必填,两边订单唯一依据
    private String orderNumber;//订单号

    // 集货位：可不填
    private String wmsLocation;

    // 提货时间:时间戳格式，必填
    private Integer deliveryTime; //

    // 预约送到时间：时间戳格式，选填
    private Integer appointArriveTime;

    // 客户单号:可不填
    private String customerOrderNumber; // 客户单号

    // 起始地:可不填
    private String startAddress; // 起始地

    // 目的地:可不填
    private String endAddress; // 目的地

    // 发货人姓名:必填
    private String consignerName;//发货人姓名(必填)

    // 发货人电话:必填
    private String consignerPhone;//发货人电话

    // 发货人地址:必填
    private String consignerAddress;//发货人地址(必填)

    // 发货人所在省份：可不填
    private String consignerProvince; // 发货人所在省份

    // 发货人所在城市:必填
    private String consignerCity;//发货人所在城市(必填)

    // 发货人所在地区:可不填
    private String consignerDistrict;//发货人所在地区

    // 收货人姓名:必填
    private String consigneeName;//收货人姓名(非必填)

    // 收货人电话:必填
    private String consigneePhone;//收货人电话(非必填)

    // 收货人地址:必填
    private String consigneeAddress;//收货人地址(非必填)

    // 收货人所在省份:可不填
    private String consigneeProvince; // 收货人所在省份

    // 收货人所在城市:必填
    private String consigneeCity;//收货人所在城市(非必填)

    // 收货人所在地区:可不填
    private String consigneeDistrict;//收货人所在地区

    // 上游运费:可不填
    private Double shipperPay;//上游运费

    // 司机运费:可不填
    private Double driverPay;//司机运费

    // 代收运费：可不填
    private Double freightCollect;

    // 代收货款：可不填
    private Double paymentCollect;

    // 第三方参数:仓库编码
    private String warehouseCode;

    // 第三方参数:货主编码
    private String ownerCode;

    // 第三方参数:调度单号
    private String scheduleOrderCode;

    // 第三方参数:业务类型
    private String orderType;

    // 第三方参数:配送区域
    private String deliveryArea;

    // 第三方参数:OMS单号
    private String omsNumber;//oms订单号

    // 第三方参数:预约送货时间
    private Integer preDeliveryTime;

    // 第三方参数:付款方式
    private String payMode;

    // 备注：可不填
    private String note;

    // 扩展字端：可不填
    private Map<String, Object> extraFields;

    // 组织机构：可不填
    private String organizationPath; // 所属组织路径

    private Double lng;
    private Double lat;

    private List<CargoEntity> cargoList;
}